﻿--[[ POR HACER:
- GUI elegir personaje despues de logear con boton para crear otros personajes.
- Terminar GUI para crear nuevo personaje.
]]

addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()),
	function()

		GUIRegistro_Window1 = guiCreateWindow(0.2767,0.6732,0.4993,0.3073,"PERSONAJE",true)
		GUIRegistro_Edit5_nombre = guiCreateEdit(0.0513,0.2373,0.2302,0.1102,"e5_1",true,GUIRegistro_Window1)
		guiEditSetMaxLength(GUIRegistro_Edit5_nombre,30)
		GUIRegistro_Label20 = guiCreateLabel(0.0543,0.1695,0.2214,0.0805,"Nombres:",true,GUIRegistro_Window1)
		guiSetFont(GUIRegistro_Label20,"default-bold-small")
		GUIRegistro_Edit6_apellido = guiCreateEdit(0.0499,0.5466,0.2302,0.1102,"e6_1",true,GUIRegistro_Window1)
		guiEditSetMaxLength(GUIRegistro_Edit6_apellido,30)
		GUIRegistro_Label21 = guiCreateLabel(0.0513,0.4619,0.2273,0.0763,"Apellido(s):",true,GUIRegistro_Window1)
		guiSetFont(GUIRegistro_Label21,"default-bold-small")
		GUIRegistro_Button3 = guiCreateButton(270,190,5,0,"",false, GUIRegistro_Window1)
		GUIRegistro_Edit5 = guiCreateEdit(0.3343,0.4068,0.0557,0.1102,"e5",true,GUIRegistro_Window1)
		guiEditSetMaxLength(GUIRegistro_Edit5,2)
		GUIRegistro_Edit6 = guiCreateEdit(0.4076,0.4068,0.0557,0.1102,"e6",true,GUIRegistro_Window1)
		guiEditSetMaxLength(GUIRegistro_Edit6,2)
		GUIRegistro_Edit7 = guiCreateEdit(0.4751,0.4068,0.0806,0.1144,"e7",true,GUIRegistro_Window1)
		guiEditSetMaxLength(GUIRegistro_Edit7,4)
		GUIRegistro_Label22 = guiCreateLabel(0.3358,0.3136,0.2331,0.0805,"Fecha de nacimiento:",true,GUIRegistro_Window1)
		guiSetFont(GUIRegistro_Label22,"default-bold-small")
		GUIRegistro_Memo1 = guiCreateMemo(0.6525,0.2458,0.3211,0.4364,"",true,GUIRegistro_Window1)
		GUIRegistro_Label23 = guiCreateLabel(0.6584,0.161,0.2757,0.0805,"Biografía (opcional):",true,GUIRegistro_Window1)
		guiSetFont(GUIRegistro_Label23,"default-bold-small")
		GUIRegistro_Button4 = guiCreateButton(0.6657,0.7924,0.3021,0.1695,"ADELANTE",true,GUIRegistro_Window1)
		GUIRegistro_Label24 = guiCreateLabel(0.0513,0.8178,0.434,0.1059,"Estado: Esperando información.",true,GUIRegistro_Window1)
		guiLabelSetColor(GUIRegistro_Label24, 46, 204, 250)
		GUIRegistro_Label25 = guiCreateLabel(0.3433,0.6302,0.3902,0.0508,"Usa las flechas de dirección de tu teclado para elegir la apariencia de tu personaje.",true)
		guiLabelSetHorizontalAlign(GUIRegistro_Label25,"center",false)
		
		guiSetVisible(GUIRegistro_Window1, false)
		guiSetVisible(GUIRegistro_Label25, false)
		
		GUIRegistro_Window2 = guiCreateWindow(0.3668,0.3737,0.3499,0.168,"CORRECTO",true)
		GUIRegistro_Label20 = guiCreateLabel(0.2197,0.3876,0.5209,0.7209,"¡Bienvenido! Has sido identificado correctamente. Pasando a la pantalla de selección de personaje...",true,GUIRegistro_Window2)
		guiLabelSetHorizontalAlign(GUIRegistro_Label20,"center",true)
		guiSetFont(GUIRegistro_Label20,"default-bold-small")
		guiSetVisible(GUIRegistro_Window2, false)
	
		GUIRegistro_Window = guiCreateWindow(0.2196,0.3438,0.6354,0.293,"PANEL DE IDENTIFICACION",true)
		GUIRegistro_Edit2 = guiCreateEdit(0.0369,0.6222,0.1809,0.1111,"",true,GUIRegistro_Window)
		guiEditSetMasked(GUIRegistro_Edit2,true)
		guiEditSetMaxLength(GUIRegistro_Edit2,25)
		GUIRegistro_Edit1 = guiCreateEdit(0.0334,0.3867,0.1809,0.1111,"",true,GUIRegistro_Window)
		guiEditSetMaxLength(GUIRegistro_Edit1,25)
		GUIRegistro_Label1 = guiCreateLabel(0.1636,0.3067,0.1786,0.1067,"Usuario:",true,GUIRegistro_Window)
		GUIRegistro_Label2 = guiCreateLabel(0.1417,0.5289,0.2028,0.0889,"Contraseña:",true,GUIRegistro_Window)
		GUIRegistro_Label3 = guiCreateLabel(0.1094,0.2222,0.1705,0.1422,"IDENTIFICACION",true,GUIRegistro_Window)
		guiSetFont(GUIRegistro_Label3,"default-bold-small")
		GUIRegistro_Label4 = guiCreateLabel(0.3157,0.2578,0.379,0.3778,"Bienvenido a RPG2012. Para empezar a jugar, primero debes identificarte con los datos de tu cuenta, en el panel a la izquierda. Si aún no tienes cuenta en el servidor, usa el panel de la derecha para registrar un nuevo usuario y empezar a jugar.",true,GUIRegistro_Window)
		guiLabelSetHorizontalAlign(GUIRegistro_Label4,"center",true)
		GUIRegistro_Label5 = guiCreateLabel(462,-118,5,5,"",false,GUIRegistro_Window)
		GUIRegistro_Label6 = guiCreateLabel(0.3122,0.7289,0.3802,0.5,"Estado: Esperando informacion.",true,GUIRegistro_Window)
		guiLabelSetColor(GUIRegistro_Label6, 46, 204, 250)
		guiLabelSetHorizontalAlign(GUIRegistro_Label6,"center",true)
		GUIRegistro_Button1 = guiCreateButton(0.0783,0.8222,0.1394,0.1111,"IDENTIFICAR",true,GUIRegistro_Window)
		GUIRegistro_Edit3 = guiCreateEdit(0.773,0.3822,0.1809,0.1111,"e5",true,GUIRegistro_Window)
		guiEditSetMaxLength(GUIRegistro_Edit3,25)
		GUIRegistro_Edit4 = guiCreateEdit(0.7753,0.6222,0.1809,0.1111,"e4",true,GUIRegistro_Window)
		guiEditSetMasked(GUIRegistro_Edit4,true)
		guiEditSetMaxLength(GUIRegistro_Edit4,25)
		GUIRegistro_Label17 = guiCreateLabel(0.9009,0.3022,0.0726,0.0844,"Usuario:",true,GUIRegistro_Window)
		GUIRegistro_Label18 = guiCreateLabel(0.879,0.5467,0.076,0.0711,"Contraseña:",true,GUIRegistro_Window)
		GUIRegistro_Label19 = guiCreateLabel(0.8836,0.24,0.0726,0.1022,"REGISTRO",true,GUIRegistro_Window)
		guiSetFont(GUIRegistro_Label19,"default-bold-small")
		GUIRegistro_Button2 = guiCreateButton(0.8203,0.7822,0.1336,0.12,"REGISTRAR",true,GUIRegistro_Window)
		guiWindowSetSizable(GUIRegistro_Window, false)
		guiWindowSetMovable(GUIRegistro_Window, false)
		guiWindowSetSizable(GUIRegistro_Window2, false)
		guiWindowSetMovable(GUIRegistro_Window2, false)
		showCursor(true)
		showChat(false)
		toggleAllControls(false)
		
		triggerServerEvent("registerGUIReady", getRootElement(), getLocalPlayer())
	end
)

addEventHandler("onClientGUIClick", getResourceRootElement(getThisResource()),
	function(button)
		if source == GUIRegistro_Button1 then 
		--BOTON LOGIN
			local user = guiGetText(GUIRegistro_Edit1)
			local password = guiGetText(GUIRegistro_Edit2)
			
			if string.len(user) < 4 then
				if string.len(password) < 6 then
					guiSetText(GUIRegistro_Label6, "Estado: Hay un problema, la contraseña o el usuario son muy cortos.")
					guiLabelSetColor(GUIRegistro_Label6, 255, 0, 0)
				end
			else
				guiSetText(GUIRegistro_Label6, "Estado: Procesando...")
				guiLabelSetColor(GUIRegistro_Label6, 255, 239, 0)
				triggerServerEvent("tryLogin", getRootElement(), getLocalPlayer(), user, password)
			end
		elseif source == GUIRegistro_Button2 then 
		--BOTON REGISTRO
			local user = guiGetText(GUIRegistro_Edit3)
			local password = guiGetText(GUIRegistro_Edit4)
			if string.len(user) < 4 then
				if string.len(password) < 6 then
					guiSetText(GUIRegistro_Label6, "Estado: Hay un problema, la contraseña o el usuario son muy cortos.")
					guiLabelSetColor(GUIRegistro_Label6, 255, 0, 0)
				end
			else
				guiSetText(GUIRegistro_Label6, "Estado: Procesando...")
				guiLabelSetColor(GUIRegistro_Label6, 255, 239, 0)
				triggerServerEvent("tryRegister", getRootElement(), getLocalPlayer(), user, password)
			end
		elseif source == GUIRegistro_Button4 then
		--BOTON CREAR PERSONAJE
			local nombre = guiGetText(GUIRegistro_Edit5_nombre)
			local apellido = guiGetText(GUIRegistro_Edit6_apellido)
			if string.len(nombre) > 3 and string.len(apellido) > 3 then
				triggerServerEvent( "tryNewPlayer", getRootElement(), getLocalPlayer(), nombre, apellido)
			end
		end
	end
)

addEventHandler("onClientResourceStop", getResourceRootElement(getThisResource()),
	function()
		showCursor(false, false)
	end
)

addEvent("guiRegister", true)
addEventHandler("guiRegister", getRootElement(),
	function()
		guiSetVisible(GUIRegistro_Window, true)
	end
)

addEvent("correctLogin", true)
addEventHandler("correctLogin", getRootElement(),
	function()
		guiSetVisible(GUIRegistro_Window, false)
		guiSetVisible(GUIRegistro_Window2, true)
		
		setTimer(
			function()
				guiSetVisible(GUIRegistro_Window2, false)
				guiSetVisible(GUIRegistro_Window1, true)
				guiSetVisible(GUIRegistro_Label25, true)
				fadeCamera(true)
				
				setCameraMatrix(258.0868,-41.5439,1002.0234,255.5458,-41.5856,1002.0234)
				setElementPosition(getLocalPlayer(), 255.5458,-41.5856,1002.0234)
				setElementRotation(getLocalPlayer(), 0, 0, 270)
				setElementInterior(getLocalPlayer(), 14)
			end
			, 2000, 1)
	end
)

addEvent("correctLogin2", true)
addEventHandler("correctLogin2", getRootElement(),
	function()
		destroyElement(GUIRegistro_Window)
		destroyElement(GUIRegistro_Window2)
		destroyElement(GUIRegistro_Window1)
		showCursor(false)
		fadeCamera(true)
		guiSetInputEnabled(false)
		showChat( true )
		outputChatBox("casdjadhjka")
	end
)
addEvent("identError", true)
addEventHandler("identError", getRootElement(),
	function(errorid)
		if errorid == 0 then
			guiSetText(GUIRegistro_Label6, "Estado: La contraseña o el usuario introducido es incorrecto.")
			guiLabelSetColor(GUIRegistro_Label6, 255, 0, 0)			
		elseif errorid == 1 then
			guiSetText(GUIRegistro_Label6, "Estado: No se encontró el usuario. ¿Estas seguro que estás registrado?")
			guiLabelSetColor(GUIRegistro_Label6, 255, 0, 0)		
		elseif errorid == 2 then
			guiSetText(GUIRegistro_Label6, "Estado: El nombre de la cuenta ya existe, elige otra.")
			guiLabelSetColor(GUIRegistro_Label6, 255, 0, 0)		
		end
	end
)

addEvent("onNewCharCreate", true)
addEventHandler("onNewCharCreate", getRootElement(),
	function()
		destroyElement(GUIRegistro_Window1)
		destroyElement(GUIRegistro_Window)
		guiSetVisible(GUIRegistro_Window2, true)
		
		setTimer(
			function()
				guiSetVisible(GUIRegistro_Window2, false)
				--guiSetVisible(GUIRegistro_Window1, true)
				--guiSetVisible(GUIRegistro_Label25, true)
				fadeCamera(true)
				destroyElement( GUIRegistro_Label25 )
				--setCameraMatrix(258.0868,-41.5439,1002.0234,255.5458,-41.5856,1002.0234)
				setElementPosition(getLocalPlayer(), 0,0,5)
				--setElementRotation(getLocalPlayer(), 0, 0, 270)
				setElementInterior(getLocalPlayer(), 0)
			end
			, 2000, 1)
	end
)

addEvent("newPlayerCreationError", true)
addEventHandler("newPlayerCreationError", getRootElement(),
	function(errorid)
		if errorid == 0 then
			guiSetText(GUIRegistro_Label24, "Estado: Los nombres y apellidos ya están en uso.")
			guiLabelSetColor(GUIRegistro_Label24, 255, 0, 0)			
		end
		
	end
)